//////////////////////////////////////////////////////////
// This class has been automatically generated on
// Thu Aug  4 14:05:25 2011 by ROOT version 5.30/00
// from TTree Analysis/Analysis tree
// found on file: gg2Dede2WZUd_7Tev_100k_mDe350.lhe_hadronized.lhe_Delphes.root
//////////////////////////////////////////////////////////

#ifndef DelphesData_H
#define DelphesData_H

#include <TROOT.h>
#include <TChain.h>
#include <TFile.h>
#include "base/EvtData.h"


   const Int_t kMaxTauJet = 3;
   const Int_t kMaxJet = 14;
   const Int_t kMaxElectron = 6;
   const Int_t kMaxMuon = 3;
   const Int_t kMaxPhoton = 20;
   const Int_t kMaxTracks = 198;
   const Int_t kMaxETmis = 1;
   const Int_t kMaxCaloTower = 646;
   const Int_t kMaxZDChits = 7;
   const Int_t kMaxRP220hits = 1;
   const Int_t kMaxFP420hits = 1;

class DelphesData: public EvtData{
public :
   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
   Int_t           fCurrent; //!current Tree number in a TChain

   // Declaration of leaf types
   Int_t           TauJet_;
   Float_t         TauJet_E[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Px[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Py[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Pz[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Eta[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Phi[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_PT[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_Charge[kMaxTauJet];   //[TauJet_]
   Int_t           TauJet_NTracks[kMaxTauJet];   //[TauJet_]
   Float_t         TauJet_EHoverEE[kMaxTauJet];   //[TauJet_]
   Int_t           TauJet_size;
   Int_t           Jet_;
   Float_t         Jet_E[kMaxJet];   //[Jet_]
   Float_t         Jet_Px[kMaxJet];   //[Jet_]
   Float_t         Jet_Py[kMaxJet];   //[Jet_]
   Float_t         Jet_Pz[kMaxJet];   //[Jet_]
   Float_t         Jet_Eta[kMaxJet];   //[Jet_]
   Float_t         Jet_Phi[kMaxJet];   //[Jet_]
   Float_t         Jet_PT[kMaxJet];   //[Jet_]
   Bool_t          Jet_Btag[kMaxJet];   //[Jet_]
   Int_t           Jet_NTracks[kMaxJet];   //[Jet_]
   Float_t         Jet_EHoverEE[kMaxJet];   //[Jet_]
   Int_t           Jet_size;
   Int_t           Electron_;
   Float_t         Electron_E[kMaxElectron];   //[Electron_]
   Float_t         Electron_Px[kMaxElectron];   //[Electron_]
   Float_t         Electron_Py[kMaxElectron];   //[Electron_]
   Float_t         Electron_Pz[kMaxElectron];   //[Electron_]
   Float_t         Electron_Eta[kMaxElectron];   //[Electron_]
   Float_t         Electron_Phi[kMaxElectron];   //[Electron_]
   Float_t         Electron_PT[kMaxElectron];   //[Electron_]
   Int_t           Electron_Charge[kMaxElectron];   //[Electron_]
   Bool_t          Electron_IsolFlag[kMaxElectron];   //[Electron_]
   Float_t         Electron_IsolPt[kMaxElectron];   //[Electron_]
   Float_t         Electron_EtaCalo[kMaxElectron];   //[Electron_]
   Float_t         Electron_PhiCalo[kMaxElectron];   //[Electron_]
   Float_t         Electron_EHoverEE[kMaxElectron];   //[Electron_]
   Int_t           Electron_size;
   Int_t           Muon_;
   Float_t         Muon_E[kMaxMuon];   //[Muon_]
   Float_t         Muon_Px[kMaxMuon];   //[Muon_]
   Float_t         Muon_Py[kMaxMuon];   //[Muon_]
   Float_t         Muon_Pz[kMaxMuon];   //[Muon_]
   Float_t         Muon_Eta[kMaxMuon];   //[Muon_]
   Float_t         Muon_Phi[kMaxMuon];   //[Muon_]
   Float_t         Muon_PT[kMaxMuon];   //[Muon_]
   Int_t           Muon_Charge[kMaxMuon];   //[Muon_]
   Bool_t          Muon_IsolFlag[kMaxMuon];   //[Muon_]
   Float_t         Muon_IsolPt[kMaxMuon];   //[Muon_]
   Float_t         Muon_EtaCalo[kMaxMuon];   //[Muon_]
   Float_t         Muon_PhiCalo[kMaxMuon];   //[Muon_]
   Float_t         Muon_EHoverEE[kMaxMuon];   //[Muon_]
   Float_t         Muon_EtRatio[kMaxMuon];   //[Muon_]
   Int_t           Muon_size;
   Int_t           Photon_;
   Float_t         Photon_E[kMaxPhoton];   //[Photon_]
   Float_t         Photon_Px[kMaxPhoton];   //[Photon_]
   Float_t         Photon_Py[kMaxPhoton];   //[Photon_]
   Float_t         Photon_Pz[kMaxPhoton];   //[Photon_]
   Float_t         Photon_Eta[kMaxPhoton];   //[Photon_]
   Float_t         Photon_Phi[kMaxPhoton];   //[Photon_]
   Float_t         Photon_PT[kMaxPhoton];   //[Photon_]
   Float_t         Photon_EHoverEE[kMaxPhoton];   //[Photon_]
   Int_t           Photon_size;
   Int_t           Tracks_;
   Float_t         Tracks_Eta[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_Phi[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_EtaOuter[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_PhiOuter[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_PT[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_E[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_Px[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_Py[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_Pz[kMaxTracks];   //[Tracks_]
   Float_t         Tracks_Charge[kMaxTracks];   //[Tracks_]
   Int_t           Tracks_size;
   Int_t           ETmis_;
   Float_t         ETmis_ET[kMaxETmis];   //[ETmis_]
   Float_t         ETmis_Phi[kMaxETmis];   //[ETmis_]
   Float_t         ETmis_Px[kMaxETmis];   //[ETmis_]
   Float_t         ETmis_Py[kMaxETmis];   //[ETmis_]
   Int_t           ETmis_size;
   Int_t           CaloTower_;
   Float_t         CaloTower_Eta[kMaxCaloTower];   //[CaloTower_]
   Float_t         CaloTower_Phi[kMaxCaloTower];   //[CaloTower_]
   Float_t         CaloTower_E[kMaxCaloTower];   //[CaloTower_]
   Float_t         CaloTower_E_em[kMaxCaloTower];   //[CaloTower_]
   Float_t         CaloTower_E_had[kMaxCaloTower];   //[CaloTower_]
   Float_t         CaloTower_ET[kMaxCaloTower];   //[CaloTower_]
   Int_t           CaloTower_size;
   Int_t           ZDChits_;
   Float_t         ZDChits_genE[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genPx[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genPy[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genPz[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genPT[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genEta[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_genPhi[kMaxZDChits];   //[ZDChits_]
   Int_t           ZDChits_pid[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_E[kMaxZDChits];   //[ZDChits_]
   Float_t         ZDChits_T[kMaxZDChits];   //[ZDChits_]
   Int_t           ZDChits_side[kMaxZDChits];   //[ZDChits_]
   Bool_t          ZDChits_hadronic_hit[kMaxZDChits];   //[ZDChits_]
   Int_t           ZDChits_size;
   Int_t           RP220hits_;
   Float_t         RP220hits_genE[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genPx[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genPy[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genPz[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genPT[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genEta[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_genPhi[kMaxRP220hits];   //[RP220hits_]
   Int_t           RP220hits_pid[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_S[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_E[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_q2[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_X[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_Y[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_Tx[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_Ty[kMaxRP220hits];   //[RP220hits_]
   Float_t         RP220hits_T[kMaxRP220hits];   //[RP220hits_]
   Int_t           RP220hits_side[kMaxRP220hits];   //[RP220hits_]
   Int_t           RP220hits_size;
   Int_t           FP420hits_;
   Float_t         FP420hits_genE[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genPx[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genPy[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genPz[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genPT[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genEta[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_genPhi[kMaxFP420hits];   //[FP420hits_]
   Int_t           FP420hits_pid[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_S[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_E[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_q2[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_X[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_Y[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_Tx[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_Ty[kMaxFP420hits];   //[FP420hits_]
   Float_t         FP420hits_T[kMaxFP420hits];   //[FP420hits_]
   Int_t           FP420hits_side[kMaxFP420hits];   //[FP420hits_]
   Int_t           FP420hits_size;

   // List of branches
   TBranch        *b_TauJet_;   //!
   TBranch        *b_TauJet_E;   //!
   TBranch        *b_TauJet_Px;   //!
   TBranch        *b_TauJet_Py;   //!
   TBranch        *b_TauJet_Pz;   //!
   TBranch        *b_TauJet_Eta;   //!
   TBranch        *b_TauJet_Phi;   //!
   TBranch        *b_TauJet_PT;   //!
   TBranch        *b_TauJet_Charge;   //!
   TBranch        *b_TauJet_NTracks;   //!
   TBranch        *b_TauJet_EHoverEE;   //!
   TBranch        *b_TauJet_size;   //!
   TBranch        *b_Jet_;   //!
   TBranch        *b_Jet_E;   //!
   TBranch        *b_Jet_Px;   //!
   TBranch        *b_Jet_Py;   //!
   TBranch        *b_Jet_Pz;   //!
   TBranch        *b_Jet_Eta;   //!
   TBranch        *b_Jet_Phi;   //!
   TBranch        *b_Jet_PT;   //!
   TBranch        *b_Jet_Btag;   //!
   TBranch        *b_Jet_NTracks;   //!
   TBranch        *b_Jet_EHoverEE;   //!
   TBranch        *b_Jet_size;   //!
   TBranch        *b_Electron_;   //!
   TBranch        *b_Electron_E;   //!
   TBranch        *b_Electron_Px;   //!
   TBranch        *b_Electron_Py;   //!
   TBranch        *b_Electron_Pz;   //!
   TBranch        *b_Electron_Eta;   //!
   TBranch        *b_Electron_Phi;   //!
   TBranch        *b_Electron_PT;   //!
   TBranch        *b_Electron_Charge;   //!
   TBranch        *b_Electron_IsolFlag;   //!
   TBranch        *b_Electron_IsolPt;   //!
   TBranch        *b_Electron_EtaCalo;   //!
   TBranch        *b_Electron_PhiCalo;   //!
   TBranch        *b_Electron_EHoverEE;   //!
   TBranch        *b_Electron_size;   //!
   TBranch        *b_Muon_;   //!
   TBranch        *b_Muon_E;   //!
   TBranch        *b_Muon_Px;   //!
   TBranch        *b_Muon_Py;   //!
   TBranch        *b_Muon_Pz;   //!
   TBranch        *b_Muon_Eta;   //!
   TBranch        *b_Muon_Phi;   //!
   TBranch        *b_Muon_PT;   //!
   TBranch        *b_Muon_Charge;   //!
   TBranch        *b_Muon_IsolFlag;   //!
   TBranch        *b_Muon_IsolPt;   //!
   TBranch        *b_Muon_EtaCalo;   //!
   TBranch        *b_Muon_PhiCalo;   //!
   TBranch        *b_Muon_EHoverEE;   //!
   TBranch        *b_Muon_EtRatio;   //!
   TBranch        *b_Muon_size;   //!
   TBranch        *b_Photon_;   //!
   TBranch        *b_Photon_E;   //!
   TBranch        *b_Photon_Px;   //!
   TBranch        *b_Photon_Py;   //!
   TBranch        *b_Photon_Pz;   //!
   TBranch        *b_Photon_Eta;   //!
   TBranch        *b_Photon_Phi;   //!
   TBranch        *b_Photon_PT;   //!
   TBranch        *b_Photon_EHoverEE;   //!
   TBranch        *b_Photon_size;   //!
   TBranch        *b_Tracks_;   //!
   TBranch        *b_Tracks_Eta;   //!
   TBranch        *b_Tracks_Phi;   //!
   TBranch        *b_Tracks_EtaOuter;   //!
   TBranch        *b_Tracks_PhiOuter;   //!
   TBranch        *b_Tracks_PT;   //!
   TBranch        *b_Tracks_E;   //!
   TBranch        *b_Tracks_Px;   //!
   TBranch        *b_Tracks_Py;   //!
   TBranch        *b_Tracks_Pz;   //!
   TBranch        *b_Tracks_Charge;   //!
   TBranch        *b_Tracks_size;   //!
   TBranch        *b_ETmis_;   //!
   TBranch        *b_ETmis_ET;   //!
   TBranch        *b_ETmis_Phi;   //!
   TBranch        *b_ETmis_Px;   //!
   TBranch        *b_ETmis_Py;   //!
   TBranch        *b_ETmis_size;   //!
   TBranch        *b_CaloTower_;   //!
   TBranch        *b_CaloTower_Eta;   //!
   TBranch        *b_CaloTower_Phi;   //!
   TBranch        *b_CaloTower_E;   //!
   TBranch        *b_CaloTower_E_em;   //!
   TBranch        *b_CaloTower_E_had;   //!
   TBranch        *b_CaloTower_ET;   //!
   TBranch        *b_CaloTower_size;   //!
   TBranch        *b_ZDChits_;   //!
   TBranch        *b_ZDChits_genE;   //!
   TBranch        *b_ZDChits_genPx;   //!
   TBranch        *b_ZDChits_genPy;   //!
   TBranch        *b_ZDChits_genPz;   //!
   TBranch        *b_ZDChits_genPT;   //!
   TBranch        *b_ZDChits_genEta;   //!
   TBranch        *b_ZDChits_genPhi;   //!
   TBranch        *b_ZDChits_pid;   //!
   TBranch        *b_ZDChits_E;   //!
   TBranch        *b_ZDChits_T;   //!
   TBranch        *b_ZDChits_side;   //!
   TBranch        *b_ZDChits_hadronic_hit;   //!
   TBranch        *b_ZDChits_size;   //!
   TBranch        *b_RP220hits_;   //!
   TBranch        *b_RP220hits_genE;   //!
   TBranch        *b_RP220hits_genPx;   //!
   TBranch        *b_RP220hits_genPy;   //!
   TBranch        *b_RP220hits_genPz;   //!
   TBranch        *b_RP220hits_genPT;   //!
   TBranch        *b_RP220hits_genEta;   //!
   TBranch        *b_RP220hits_genPhi;   //!
   TBranch        *b_RP220hits_pid;   //!
   TBranch        *b_RP220hits_S;   //!
   TBranch        *b_RP220hits_E;   //!
   TBranch        *b_RP220hits_q2;   //!
   TBranch        *b_RP220hits_X;   //!
   TBranch        *b_RP220hits_Y;   //!
   TBranch        *b_RP220hits_Tx;   //!
   TBranch        *b_RP220hits_Ty;   //!
   TBranch        *b_RP220hits_T;   //!
   TBranch        *b_RP220hits_side;   //!
   TBranch        *b_RP220hits_size;   //!
   TBranch        *b_FP420hits_;   //!
   TBranch        *b_FP420hits_genE;   //!
   TBranch        *b_FP420hits_genPx;   //!
   TBranch        *b_FP420hits_genPy;   //!
   TBranch        *b_FP420hits_genPz;   //!
   TBranch        *b_FP420hits_genPT;   //!
   TBranch        *b_FP420hits_genEta;   //!
   TBranch        *b_FP420hits_genPhi;   //!
   TBranch        *b_FP420hits_pid;   //!
   TBranch        *b_FP420hits_S;   //!
   TBranch        *b_FP420hits_E;   //!
   TBranch        *b_FP420hits_q2;   //!
   TBranch        *b_FP420hits_X;   //!
   TBranch        *b_FP420hits_Y;   //!
   TBranch        *b_FP420hits_Tx;   //!
   TBranch        *b_FP420hits_Ty;   //!
   TBranch        *b_FP420hits_T;   //!
   TBranch        *b_FP420hits_side;   //!
   TBranch        *b_FP420hits_size;   //!

   DelphesData(TTree *tree=0);
   virtual ~DelphesData();
   virtual Int_t    Cut(Long64_t entry);
   virtual Int_t    GetEntry(Long64_t entry);
   virtual Long64_t LoadTree(Long64_t entry);
   virtual void     Init(TTree *tree);
   virtual Bool_t   Notify();
   virtual void     Show(Long64_t entry = -1);
   
   //Custom Functions here
   virtual void FillEvtData(unsigned int);
   void SwitchBranches();
};

#endif

#ifdef DelphesData_cxx

// This block is our custom code
//START BLOCK





DelphesData::DelphesData(TTree *tree)
{
// if parameter tree is not specified (or zero), connect the file
// used to generate this class and read the Tree.
   if (tree == 0) {
      TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("gg2Dede2WZUd_7Tev_100k_mDe350.lhe_hadronized.lhe_Delphes.root");
      if (!f || !f->IsOpen()) {
         f = new TFile("gg2Dede2WZUd_7Tev_100k_mDe350.lhe_hadronized.lhe_Delphes.root");
      }
      f->GetObject("Analysis",tree);

   }
   Init(tree);
}

DelphesData::~DelphesData()
{
   if (!fChain) return;
   delete fChain->GetCurrentFile();
}

Int_t DelphesData::GetEntry(Long64_t entry)
{
// Read contents of entry.
   if (!fChain) return 0;
   return fChain->GetEntry(entry);
}
Long64_t DelphesData::LoadTree(Long64_t entry)
{
// Set the environment to read one entry
   if (!fChain) return -5;
   Long64_t centry = fChain->LoadTree(entry);
   if (centry < 0) return centry;
   if (fChain->GetTreeNumber() != fCurrent) {
      fCurrent = fChain->GetTreeNumber();
      Notify();
   }
   return centry;
}

void DelphesData::Init(TTree *tree)
{
   // The Init() function is called when the selector needs to initialize
   // a new tree or chain. Typically here the branch addresses and branch
   // pointers of the tree will be set.
   // It is normally not necessary to make changes to the generated
   // code, but the routine can be extended by the user if needed.
   // Init() will be called many times when running on PROOF
   // (once per file to be processed).

   // Set branch addresses and branch pointers
   if (!tree) return;
   fChain = tree;
   fCurrent = -1;
   fChain->SetMakeClass(1);

   fChain->SetBranchAddress("TauJet", &TauJet_, &b_TauJet_);
   fChain->SetBranchAddress("TauJet.E", TauJet_E, &b_TauJet_E);
   fChain->SetBranchAddress("TauJet.Px", TauJet_Px, &b_TauJet_Px);
   fChain->SetBranchAddress("TauJet.Py", TauJet_Py, &b_TauJet_Py);
   fChain->SetBranchAddress("TauJet.Pz", TauJet_Pz, &b_TauJet_Pz);
   fChain->SetBranchAddress("TauJet.Eta", TauJet_Eta, &b_TauJet_Eta);
   fChain->SetBranchAddress("TauJet.Phi", TauJet_Phi, &b_TauJet_Phi);
   fChain->SetBranchAddress("TauJet.PT", TauJet_PT, &b_TauJet_PT);
   fChain->SetBranchAddress("TauJet.Charge", TauJet_Charge, &b_TauJet_Charge);
   fChain->SetBranchAddress("TauJet.NTracks", TauJet_NTracks, &b_TauJet_NTracks);
   fChain->SetBranchAddress("TauJet.EHoverEE", TauJet_EHoverEE, &b_TauJet_EHoverEE);
   fChain->SetBranchAddress("TauJet_size", &TauJet_size, &b_TauJet_size);
   fChain->SetBranchAddress("Jet", &Jet_, &b_Jet_);
   fChain->SetBranchAddress("Jet.E", Jet_E, &b_Jet_E);
   fChain->SetBranchAddress("Jet.Px", Jet_Px, &b_Jet_Px);
   fChain->SetBranchAddress("Jet.Py", Jet_Py, &b_Jet_Py);
   fChain->SetBranchAddress("Jet.Pz", Jet_Pz, &b_Jet_Pz);
   fChain->SetBranchAddress("Jet.Eta", Jet_Eta, &b_Jet_Eta);
   fChain->SetBranchAddress("Jet.Phi", Jet_Phi, &b_Jet_Phi);
   fChain->SetBranchAddress("Jet.PT", Jet_PT, &b_Jet_PT);
   fChain->SetBranchAddress("Jet.Btag", Jet_Btag, &b_Jet_Btag);
   fChain->SetBranchAddress("Jet.NTracks", Jet_NTracks, &b_Jet_NTracks);
   fChain->SetBranchAddress("Jet.EHoverEE", Jet_EHoverEE, &b_Jet_EHoverEE);
   fChain->SetBranchAddress("Jet_size", &Jet_size, &b_Jet_size);
   fChain->SetBranchAddress("Electron", &Electron_, &b_Electron_);
   fChain->SetBranchAddress("Electron.E", Electron_E, &b_Electron_E);
   fChain->SetBranchAddress("Electron.Px", Electron_Px, &b_Electron_Px);
   fChain->SetBranchAddress("Electron.Py", Electron_Py, &b_Electron_Py);
   fChain->SetBranchAddress("Electron.Pz", Electron_Pz, &b_Electron_Pz);
   fChain->SetBranchAddress("Electron.Eta", Electron_Eta, &b_Electron_Eta);
   fChain->SetBranchAddress("Electron.Phi", Electron_Phi, &b_Electron_Phi);
   fChain->SetBranchAddress("Electron.PT", Electron_PT, &b_Electron_PT);
   fChain->SetBranchAddress("Electron.Charge", Electron_Charge, &b_Electron_Charge);
   fChain->SetBranchAddress("Electron.IsolFlag", Electron_IsolFlag, &b_Electron_IsolFlag);
   //fChain->SetBranchAddress("Electron.IsolPt", Electron_IsolPt, &b_Electron_IsolPt);
   fChain->SetBranchAddress("Electron.EtaCalo", Electron_EtaCalo, &b_Electron_EtaCalo);
   fChain->SetBranchAddress("Electron.PhiCalo", Electron_PhiCalo, &b_Electron_PhiCalo);
   fChain->SetBranchAddress("Electron.EHoverEE", Electron_EHoverEE, &b_Electron_EHoverEE);
   fChain->SetBranchAddress("Electron_size", &Electron_size, &b_Electron_size);
   fChain->SetBranchAddress("Muon", &Muon_, &b_Muon_);
   fChain->SetBranchAddress("Muon.E", Muon_E, &b_Muon_E);
   fChain->SetBranchAddress("Muon.Px", Muon_Px, &b_Muon_Px);
   fChain->SetBranchAddress("Muon.Py", Muon_Py, &b_Muon_Py);
   fChain->SetBranchAddress("Muon.Pz", Muon_Pz, &b_Muon_Pz);
   fChain->SetBranchAddress("Muon.Eta", Muon_Eta, &b_Muon_Eta);
   fChain->SetBranchAddress("Muon.Phi", Muon_Phi, &b_Muon_Phi);
   fChain->SetBranchAddress("Muon.PT", Muon_PT, &b_Muon_PT);
   fChain->SetBranchAddress("Muon.Charge", Muon_Charge, &b_Muon_Charge);
   fChain->SetBranchAddress("Muon.IsolFlag", Muon_IsolFlag, &b_Muon_IsolFlag);
   //fChain->SetBranchAddress("Muon.IsolPt", Muon_IsolPt, &b_Muon_IsolPt);
   fChain->SetBranchAddress("Muon.EtaCalo", Muon_EtaCalo, &b_Muon_EtaCalo);
   fChain->SetBranchAddress("Muon.PhiCalo", Muon_PhiCalo, &b_Muon_PhiCalo);
   fChain->SetBranchAddress("Muon.EHoverEE", Muon_EHoverEE, &b_Muon_EHoverEE);
   fChain->SetBranchAddress("Muon.EtRatio", Muon_EtRatio, &b_Muon_EtRatio);
   fChain->SetBranchAddress("Muon_size", &Muon_size, &b_Muon_size);
   fChain->SetBranchAddress("Photon", &Photon_, &b_Photon_);
   fChain->SetBranchAddress("Photon.E", Photon_E, &b_Photon_E);
   fChain->SetBranchAddress("Photon.Px", Photon_Px, &b_Photon_Px);
   fChain->SetBranchAddress("Photon.Py", Photon_Py, &b_Photon_Py);
   fChain->SetBranchAddress("Photon.Pz", Photon_Pz, &b_Photon_Pz);
   fChain->SetBranchAddress("Photon.Eta", Photon_Eta, &b_Photon_Eta);
   fChain->SetBranchAddress("Photon.Phi", Photon_Phi, &b_Photon_Phi);
   fChain->SetBranchAddress("Photon.PT", Photon_PT, &b_Photon_PT);
   fChain->SetBranchAddress("Photon.EHoverEE", Photon_EHoverEE, &b_Photon_EHoverEE);
   fChain->SetBranchAddress("Photon_size", &Photon_size, &b_Photon_size);
   fChain->SetBranchAddress("Tracks", &Tracks_, &b_Tracks_);
   fChain->SetBranchAddress("Tracks.Eta", Tracks_Eta, &b_Tracks_Eta);
   fChain->SetBranchAddress("Tracks.Phi", Tracks_Phi, &b_Tracks_Phi);
   fChain->SetBranchAddress("Tracks.EtaOuter", Tracks_EtaOuter, &b_Tracks_EtaOuter);
   fChain->SetBranchAddress("Tracks.PhiOuter", Tracks_PhiOuter, &b_Tracks_PhiOuter);
   fChain->SetBranchAddress("Tracks.PT", Tracks_PT, &b_Tracks_PT);
   fChain->SetBranchAddress("Tracks.E", Tracks_E, &b_Tracks_E);
   fChain->SetBranchAddress("Tracks.Px", Tracks_Px, &b_Tracks_Px);
   fChain->SetBranchAddress("Tracks.Py", Tracks_Py, &b_Tracks_Py);
   fChain->SetBranchAddress("Tracks.Pz", Tracks_Pz, &b_Tracks_Pz);
   fChain->SetBranchAddress("Tracks.Charge", Tracks_Charge, &b_Tracks_Charge);
   fChain->SetBranchAddress("Tracks_size", &Tracks_size, &b_Tracks_size);
   fChain->SetBranchAddress("ETmis", &ETmis_, &b_ETmis_);
   fChain->SetBranchAddress("ETmis.ET", ETmis_ET, &b_ETmis_ET);
   fChain->SetBranchAddress("ETmis.Phi", ETmis_Phi, &b_ETmis_Phi);
   fChain->SetBranchAddress("ETmis.Px", ETmis_Px, &b_ETmis_Px);
   fChain->SetBranchAddress("ETmis.Py", ETmis_Py, &b_ETmis_Py);
   fChain->SetBranchAddress("ETmis_size", &ETmis_size, &b_ETmis_size);
   fChain->SetBranchAddress("CaloTower", &CaloTower_, &b_CaloTower_);
   fChain->SetBranchAddress("CaloTower.Eta", CaloTower_Eta, &b_CaloTower_Eta);
   fChain->SetBranchAddress("CaloTower.Phi", CaloTower_Phi, &b_CaloTower_Phi);
   fChain->SetBranchAddress("CaloTower.E", CaloTower_E, &b_CaloTower_E);
   fChain->SetBranchAddress("CaloTower.E_em", CaloTower_E_em, &b_CaloTower_E_em);
   fChain->SetBranchAddress("CaloTower.E_had", CaloTower_E_had, &b_CaloTower_E_had);
   fChain->SetBranchAddress("CaloTower.ET", CaloTower_ET, &b_CaloTower_ET);
   fChain->SetBranchAddress("CaloTower_size", &CaloTower_size, &b_CaloTower_size);
   fChain->SetBranchAddress("ZDChits", &ZDChits_, &b_ZDChits_);
   fChain->SetBranchAddress("ZDChits.genE", ZDChits_genE, &b_ZDChits_genE);
   fChain->SetBranchAddress("ZDChits.genPx", ZDChits_genPx, &b_ZDChits_genPx);
   fChain->SetBranchAddress("ZDChits.genPy", ZDChits_genPy, &b_ZDChits_genPy);
   fChain->SetBranchAddress("ZDChits.genPz", ZDChits_genPz, &b_ZDChits_genPz);
   fChain->SetBranchAddress("ZDChits.genPT", ZDChits_genPT, &b_ZDChits_genPT);
   fChain->SetBranchAddress("ZDChits.genEta", ZDChits_genEta, &b_ZDChits_genEta);
   fChain->SetBranchAddress("ZDChits.genPhi", ZDChits_genPhi, &b_ZDChits_genPhi);
   fChain->SetBranchAddress("ZDChits.pid", ZDChits_pid, &b_ZDChits_pid);
   fChain->SetBranchAddress("ZDChits.E", ZDChits_E, &b_ZDChits_E);
   fChain->SetBranchAddress("ZDChits.T", ZDChits_T, &b_ZDChits_T);
   fChain->SetBranchAddress("ZDChits.side", ZDChits_side, &b_ZDChits_side);
   fChain->SetBranchAddress("ZDChits.hadronic_hit", ZDChits_hadronic_hit, &b_ZDChits_hadronic_hit);
   fChain->SetBranchAddress("ZDChits_size", &ZDChits_size, &b_ZDChits_size);
   fChain->SetBranchAddress("RP220hits", &RP220hits_, &b_RP220hits_);
   fChain->SetBranchAddress("RP220hits.genE", &RP220hits_genE, &b_RP220hits_genE);
   fChain->SetBranchAddress("RP220hits.genPx", &RP220hits_genPx, &b_RP220hits_genPx);
   fChain->SetBranchAddress("RP220hits.genPy", &RP220hits_genPy, &b_RP220hits_genPy);
   fChain->SetBranchAddress("RP220hits.genPz", &RP220hits_genPz, &b_RP220hits_genPz);
   fChain->SetBranchAddress("RP220hits.genPT", &RP220hits_genPT, &b_RP220hits_genPT);
   fChain->SetBranchAddress("RP220hits.genEta", &RP220hits_genEta, &b_RP220hits_genEta);
   fChain->SetBranchAddress("RP220hits.genPhi", &RP220hits_genPhi, &b_RP220hits_genPhi);
   fChain->SetBranchAddress("RP220hits.pid", &RP220hits_pid, &b_RP220hits_pid);
   fChain->SetBranchAddress("RP220hits.S", &RP220hits_S, &b_RP220hits_S);
   fChain->SetBranchAddress("RP220hits.E", &RP220hits_E, &b_RP220hits_E);
   fChain->SetBranchAddress("RP220hits.q2", &RP220hits_q2, &b_RP220hits_q2);
   fChain->SetBranchAddress("RP220hits.X", &RP220hits_X, &b_RP220hits_X);
   fChain->SetBranchAddress("RP220hits.Y", &RP220hits_Y, &b_RP220hits_Y);
   fChain->SetBranchAddress("RP220hits.Tx", &RP220hits_Tx, &b_RP220hits_Tx);
   fChain->SetBranchAddress("RP220hits.Ty", &RP220hits_Ty, &b_RP220hits_Ty);
   fChain->SetBranchAddress("RP220hits.T", &RP220hits_T, &b_RP220hits_T);
   fChain->SetBranchAddress("RP220hits.side", &RP220hits_side, &b_RP220hits_side);
   fChain->SetBranchAddress("RP220hits_size", &RP220hits_size, &b_RP220hits_size);
   fChain->SetBranchAddress("FP420hits", &FP420hits_, &b_FP420hits_);
   fChain->SetBranchAddress("FP420hits.genE", &FP420hits_genE, &b_FP420hits_genE);
   fChain->SetBranchAddress("FP420hits.genPx", &FP420hits_genPx, &b_FP420hits_genPx);
   fChain->SetBranchAddress("FP420hits.genPy", &FP420hits_genPy, &b_FP420hits_genPy);
   fChain->SetBranchAddress("FP420hits.genPz", &FP420hits_genPz, &b_FP420hits_genPz);
   fChain->SetBranchAddress("FP420hits.genPT", &FP420hits_genPT, &b_FP420hits_genPT);
   fChain->SetBranchAddress("FP420hits.genEta", &FP420hits_genEta, &b_FP420hits_genEta);
   fChain->SetBranchAddress("FP420hits.genPhi", &FP420hits_genPhi, &b_FP420hits_genPhi);
   fChain->SetBranchAddress("FP420hits.pid", &FP420hits_pid, &b_FP420hits_pid);
   fChain->SetBranchAddress("FP420hits.S", &FP420hits_S, &b_FP420hits_S);
   fChain->SetBranchAddress("FP420hits.E", &FP420hits_E, &b_FP420hits_E);
   fChain->SetBranchAddress("FP420hits.q2", &FP420hits_q2, &b_FP420hits_q2);
   fChain->SetBranchAddress("FP420hits.X", &FP420hits_X, &b_FP420hits_X);
   fChain->SetBranchAddress("FP420hits.Y", &FP420hits_Y, &b_FP420hits_Y);
   fChain->SetBranchAddress("FP420hits.Tx", &FP420hits_Tx, &b_FP420hits_Tx);
   fChain->SetBranchAddress("FP420hits.Ty", &FP420hits_Ty, &b_FP420hits_Ty);
   fChain->SetBranchAddress("FP420hits.T", &FP420hits_T, &b_FP420hits_T);
   fChain->SetBranchAddress("FP420hits.side", &FP420hits_side, &b_FP420hits_side);
   fChain->SetBranchAddress("FP420hits_size", &FP420hits_size, &b_FP420hits_size);
   Notify();
}

Bool_t DelphesData::Notify()
{
   // The Notify() function is called when a new file is opened. This
   // can be either for a new TTree in a TChain or when when a new TTree
   // is started when using PROOF. It is normally not necessary to make changes
   // to the generated code, but the routine can be extended by the
   // user if needed. The return value is currently not used.

   return kTRUE;
}

void DelphesData::Show(Long64_t entry)
{
// Print contents of entry.
// If entry is not specified, print current entry
   if (!fChain) return;
   fChain->Show(entry);
}
Int_t DelphesData::Cut(Long64_t entry)
{
// This function may be called from Loop.
// returns  1 if entry is accepted.
// returns -1 otherwise.
   return 1;
}
#endif // #ifdef DelphesData_cxx
